package local

import (
	"zstackgo/spring"
)

func init() {
	o := new(LocalStorageFactory)
	spring.Register(o, "LocalStorageFactory", []*spring.PluginExtension{
		{
			Interface: "header.storage.primary.PrimaryStorageFactory",
		},
		{
			Interface: "header.Component",
		},
		{
			Interface: "header.volume.CreateDataVolumeExtensionPoint",
		},
		{
			Interface: "header.vm.MarshalVmOperationFlowExtensionPoint",
		},
		{
			Interface: "header.host.HostDeleteExtensionPoint",
		},
		{
			Interface: "header.vm.VmAttachVolumeExtensionPoint",
		},
		{
			Interface: "header.vm.GetAttachableVolumeExtensionPoint",
		},
		{
			Interface: "header.host.HostMaintenancePolicyExtensionPoint",
		},
		{
			Interface: "header.query.AddExpandedQueryExtensionPoint",
		},
		{
			Interface: "header.volume.VolumeGetAttachableVmExtensionPoint",
		},
		{
			Interface: "header.volume.RecoverDataVolumeExtensionPoint",
		},
		{
			Interface: "header.vm.RecoverVmExtensionPoint",
		},
		{
			Interface: "header.vm.VmPreMigrationExtensionPoint",
		},
		{
			Interface: "header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint",
		},
		{
			Interface: "header.host.HostAfterConnectedExtensionPoint",
		},
		{
			Interface: "header.storage.primary.InstantiateDataVolumeOnCreationExtensionPoint",
		},
		{
			Interface: "header.storage.primary.PrimaryStorageAttachExtensionPoint",
		},
		{
			Interface: "storage.snapshot.PostMarkRootVolumeAsSnapshotExtension",
		},
		{
			Interface: "header.storage.snapshot.AfterTakeLiveSnapshotsOnVolumes",
		},
		{
			Interface: "compute.vm.VmCapabilitiesExtensionPoint",
		},
		{
			Interface: "header.storage.primary.PrimaryStorageDetachExtensionPoint",
		},
		{
			Interface: "core.trash.CreateRecycleExtensionPoint",
		},
		{
			Interface: "header.volume.AfterInstantiateVolumeExtensionPoint",
		},
	})
}

type LocalStorageFactory struct {
}
